#include <stdio.h>
#include <stdlib.h>
//矩阵a乘b
int main()
{
    
    int a,b,c,d;
    int A[101][101],B[101][101],C[101][101];
    int i,j,k;
    scanf("%d %d",&a,&b);
    for(i=0;i<a;i++)//输入矩阵A
    {
    
        for(j=0;j<b;j++)
            scanf("%d",&A[i][j]);
    }
    scanf("%d %d",&c,&d);
    for(i=0;i<c;i++)//输入矩阵B
    {
    
        for(j=0;j<d;j++)
            scanf("%d",&B[i][j]);
    }
    if(b==c)//判断矩阵A,B是否可以相乘
    {
    
        printf("%d %d\n",a,d);
        for(i=0;i<a;i++)
        {
    
            for(j=0;j<d;j++)
            {
    
                C[i][j]=0;//矩阵C置零
                for(k=0;k<b;k++)
                    C[i][j]+=A[i][k]*B[k][j];
                    if (j==0)/*判断是否为第一列，如果是则紧贴着输出，否则中间加空格*/
                        printf("%d",C[i][j]);
                    else
                        printf(" %d",C[i][j]);
                    if(j==d-1)/*根据条件判断是否换行*/
                        printf("\n");
            }
        }
    }
    else printf("Error: %d != %d",b,c);
    return 0;
}